
import { OptionsVO, OptionsForm } from '../options/types'

export interface QuestionsVO {
  /**
   * 题目ID，主键
   */
  questionId: string | number;

  /**
   * 题目内容
   */
  title: string;

  /**
   * 题目类型：single_choice-单选, multiple_choice-多选, fill_blank-填空, true_false-判断题
   */
  questionType: string;

  /**
   * 难度等级：1-5，默认为3
   */
  difficulty: number;

  /**
   * 题目分类/标签
   */
  category: string;

  /**
   * 状态：0-禁用，1-启用
   */
  status: number;

  /**
   * 题目分值
   */
  score: number;

  /**
   * 题目解析
   */
  explanation: string;

  /**
   * 答案
   */
  answer?: string;

  /**
   * 选项列表
   */
  options?: Array<OptionsVO>;

  /**
   * 题目顺序
   */
  questionOrder: number;

  /**
   * 该题在本次考试中的分值
   */
  questionScore: number;
}

export interface QuestionsForm extends BaseEntity {
  /**
   * 题目ID，主键
   */
  questionId?: string | number;

  /**
   * 题目内容
   */
  title?: string;

  /**
   * 题目类型：single_choice-单选, multiple_choice-多选, fill_blank-填空, true_false-判断题
   */
  questionType?: string;

  /**
   * 难度等级：1-5，默认为3
   */
  difficulty?: number;

  /**
   * 题目分类/标签
   */
  category?: string;

  /**
   * 状态：0-禁用，1-启用
   */
  status?: number;

  /**
   * 题目分值
   */
  score?: number;

  /**
   * 题目解析
   */
  explanation?: string;

  /**
   * 答案
   */
  answer?: string;

  /**
   * 选项列表
   */
  options?: Array<OptionsForm>;
}

export interface QuestionsQuery extends PageQuery {
  /**
   * 题目内容
   */
  title?: string;

  /**
   * 题目类型：single_choice-单选, multiple_choice-多选, fill_blank-填空, true_false-判断题
   */
  questionType?: string;

  /**
   * 难度等级：1-5，默认为3
   */
  difficulty?: number;

  /**
   * 题目分类/标签
   */
  category?: string;

  /**
   * 状态：0-禁用，1-启用
   */
  status?: number;

  /**
   * 题目分值
   */
  score?: number;

  /**
   * 题目解析
   */
  explanation?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}


export interface contentType {
    content : string,
    type : 'text' | 'image',
    ossIds? : string,
}